1. Field of the Invention
The present invention relates to systems and methods for providing streaming media to users, and in particular, to a system and method for directed advertising in said streaming media.
2. Description of the Related Art
The dissemination and playback of media programs has undergone substantial changes in the past decade. Previously, media programs (which may include audio, video, or both) were disseminated either by analog broadcast (conventional, satellite, or cable) or by dissemination of films to movie theaters.
These traditional dissemination and playback means remain in use after the advent of digital technology. However, digital technologies have had a profound effect on the dissemination and playback of media programs.
First, digital technology permitted the use of digital video recorders (DVRs). DVRs, while similar in function to standard analog video cassette recorders (VCRs), provide a number of additional useful functions including live pause, the ability to record one program while playing back another, and the integration of the electronic program guides with DVR functionality (so that the recordation of media programs could be scheduled far in advance).
Second, digital technology also permitted the dissemination and playback of media programs via the Internet, and with improved signal processing and more and more households with high-speed Internet access (e.g. DSL, fiber, and/or satellite). These methods of dissemination and playback have become competitive with traditional means. Dissemination of media programs via the Internet may occur either by simple downloading, progressive downloading or streaming.
For progressive download, a media file having the media program is downloaded via the Internet using dial-up, DSL, ADSL, cable, T1, or other high speed connection. Such downloading is typically performed by a web server via the Internet.
Simple downloading downloads the bytes of the media file in any convenient order, while progressive download downloads bytes at the beginning of a file and continues downloading the file sequentially and consecutively until the last byte. At any particular time during progressive downloading, portions of the file may not be immediately available for playback. In some situations, the entire file must be downloaded first before a media player can start playback. In other progressive download situations, media players are able to start playback once enough of the beginning of the file has downloaded, however, the media player must download enough information to support some form of playback before playback can occur. Playback of progressively downloaded media files is often delayed by slow Internet connections and is also often choppy and/or contains a high likelihood of stopping after only a few seconds. Once a progressively downloaded media program has been completely downloaded, it may be stored on the end-user device for later use.
One of the disadvantages of a progressive downloading is that the entity transmitting the data (the web server) simply pushes the data to the client as fast as possible. It may appear to be “streaming” the video because the progressive download capability of many media players allows playback as soon as an adequate amount of data has been downloaded. However, the user cannot fast-forward to the end of the file until the entire file has been delivered by the web server. Another disadvantage with progressive downloading is that the web server does not make allowances for the data rate of the video file. Hence if the network bandwidth is lower than the data rate required by the video file, the user would have to wait a period of time before playback can begin. If playback speed exceeds the data transfer speed, playback may be paused for a period of time while additional data is downloaded, interrupting the viewing experience. However, the video playback quality may be higher when the playback occurs because of the potentially higher data rate. For example, if a 100 kbps video file can be delivered over a 56 kbps modem, the video will be presented at the 100 kbps rate, but there may be periods when playback will be paused while additional video data is downloaded. The video data is typically downloaded and stored as a temporary file in its entirety.
Web servers typically use HTTP (hypertext transport protocol) on top of TCP (transfer control protocol) to transfer files over the network. TCP, which controls the transport of data packets over the network, is optimized for guaranteed delivery of data, not speed. Therefore, if a browser senses that data is missing, a resend request will be issued and the data will be resent. In networks with high delivery errors, resend requests may consume a large amount of bandwidth. Since TCP is not designed for efficient delivery of adequate data or bandwidth control (but rather guaranteed delivery of all data), it is not preferred for the delivery of video data in all applications.
Streaming delivers media content continuously to a media player and media playback occurs simultaneously. The end-user is capable of playing the media immediately upon delivery by the content provider. Traditional streaming techniques originate from a single provider delivering a stream of data to a set of end-users. High bandwidths and central processing unit (CPU) power are required to deliver a single stream to a large audience, and the required bandwidth of the provider increases as the number of end-users increases.
Unlike progressive downloading, streaming media can be delivered on-demand or live. Wherein progressive download requires downloading the entire file or downloading enough of the entire file to start playback at the beginning, streaming enables immediate playback at any point within the file. End-users may skip through the media file to start playback or change playback to any point in the media file. Hence, the end-user does not need to wait for the file to progressively download. Typically, streaming media is delivered from a few dedicated servers having high bandwidth capabilities.
A streaming media server is a specialized device that accepts requests for video files, and with information about the format, bandwidth and structure of those files, delivers just the amount of data necessary to play the video, at the rate needed to play it. Streaming media servers may also account for the transmission bandwidth and capabilities of the media player. Unlike the web server, the streaming media server communicates with the user device 102 using control messages and data messages to adjust to changing network conditions as the video is played. These control messages can include commands for trick play functions such as fast forward, fast reverse, pausing, or seeking to a particular part of the file. Since a streaming media server transmits video data only as needed and at the rate that is needed, precise control over the number of streams served can be maintained. Unlike the case with progressive downloading, the viewer will not be able to view high data rate videos over a lower data rate transmission medium. However, streaming media servers (1) provide users random access to the video file, (2) allows monitoring of who is viewing what video programs and how long they are watched (3) use transmission bandwidth more efficiently, since only the amount of data required to support the viewing experience is transmitted, and (4) the video file is not stored in the viewer's computer, but discarded by the media player, thus allowing more control over the content.
Streaming media servers may use HTTP and TCP to deliver video streams, but generally use RSTP (real time streaming protocol) and UDP (user datagram protocol). These protocols permit control messages and save bandwidth by reducing overhead. Unlike TCP, when data is dropped during transmission, UDP does not transmit resent requests. Instead, the server continues to send data. Streaming media servers can also deliver live webcasts and can multicast, which allows more than one client to tune into a single stream, thus saving bandwidth.
Typically, progressively downloaded media is transmitted to the user device 102 at a rate that is faster than playback. The media program player buffers this data, and may indicate how much of the media program has been buffered by providing an indicator, usually as a part of a “progress bar.” A control is often provided that allows the user to go to any point in the program that has already been buffered by selecting the control and moving it to a different location along the progress bar. This allows the user to randomly access any buffered portion of the media program.
Streaming media players do not rely on buffering to provide random access to any point in the media program. Instead, this is accomplished through the use of control messages transmitted from the media player to the streaming media server.
The delivery of media programs can be accomplished under a variety of models. In one model, the user pays for the viewing of the media program (for example, using a pay-per-view service). In another model widely adopted by broadcast television shortly after its inception, sponsors pay for the presentation of the media program in exchange for the right to present advertisements during or adjacent to the presentation of the program.
The advent of DVRs has had a profound effect upon the advertising model described above. DVRs permit the user to record media programs (in advance or during their broadcast), and permit the user to easily bypass advertisements presented during the media program by use of trick-play functions such as fast forward and reverse.
However, DVRs are not capable of these operations with media programs provided as streaming media. In such cases, the user must view the advertisements. The fact that users cannot skip advertisements within streamed media using a DVR-like device is both a strength and a weakness of this media program delivery paradigm. It is a strength, because advertisers can be assured that the viewers are actually watching the advertisements placed within the media program and not skipping them. However, it also represents a barrier to the widespread viewing of media programs via streaming media because users prefer to skip advertisements that are not of interest.
It is also known that advertising campaigns often use advertisements of different length. Some products and services are less amenable to short advertisements, as the benefits or the context of the product or service cannot be presented in a mere fifteen or thirty seconds. However, longer duration advertisements can annoy users and users are more apt to navigate elsewhere (to another window or tab to view something else, surf the web or view social media network) than they would be for a short duration advertisement. At the same time, many users prefer to view as much advertising (in terms of time or in terms of the number of advertisements) before the media program begins so that there are less interruptions when the media program is actually played back, thus mimicking the theater experience wherein all advertisements (in the form of trailers) are presented before the media program is presented.
Systems that offer users some modicum of control are known in the art. For example, the systems disclosed in U.S. Patent Publication 2003/0154475, by Rodriguez, published Aug. 14, 2003, U.S. Patent Publication 2008/0127251, by Watchfogel, published May 29, 2008, U.S. Patent Publication 2003/0149975, by Elderling, published Aug. 7, 2003, and U.S. Patent Publication 2008/0196060 by Varghese.
Rodriguez discloses a system in which advertisements are assigned a “value” and in which the user may receive advertisements of a shorter total duration by electing to display those advertisements of higher “value.” In other words, if a user is presented with advertisements having a total value of 1V may be presented with advertisements having a total duration of 2 T while another user may select advertisements having a total value of 2V and may be presented with advertisements having a total duration of 1 T. This provides the user with the ability to select higher value ads in exchange for ads of shorter total duration. However, while Rodriguez suggests presenting advertisements of a shorter total duration if the user selects higher-value advertisements, it does not teach that the “value” associated with the advertisements is a function of their temporal location within the media program. Instead, Rodriguez teaches assigning a temporally constant value to advertisements presented in conjunction with the media program.
Furthermore, while Rodriguez teaches a system wherein although the user is provided with substantial control over the presentation of advertisements, it does so via an interface so clumsy as to dissuade the average user from doing so. If the viewer has to scroll through a plurality of menu screens just to make the choice to view more or all of the advertisements before the media program begins, the process of making that choice can take longer than the viewing of the advertisement itself. Accordingly, there is great value in presenting to the user, a simple choice that allows the user to view longer or more advertisements before the media program begins in exchange for no or fewer advertisements within the media program itself. The present invention satisfies that need.